Semiconductor devices such as microcomputers, memories, gate arrays, among others, include input/output pins and an output circuit for transmitting data to other devices, via a bus, transmission lines formed on a board, and the like. A circuit within the semiconductor device that is responsible for transmitting data includes, for example, output buffers and drivers. For there to be optimum transmission, the impedance of the transmitting device should be matched to the impedance of the transmission network and receiving device.
As operational speeds of electronic devices increase, the swing of transmitted signals decreases. However, as the signal swing width of a transmitted signal decreases, external noise increases. External noise can affect the reflection characteristics of an output signal if there is an impedance mismatch at an interface. Impedance mismatches are caused by external noise or by noise on a power supply voltage, temperature and process variations, among others. If an impedance mismatch arises, the transmission speed of the data decreases, and the data from a semiconductor device may become distorted. Thus, in a case where a semiconductor device receives distorted data, problems can be caused by setup/hold failures or errors in reading received data.
In order to mitigate these adverse scenarios, memory devices may include programmable termination components that may be used to provide adjustable on-die termination and adjustable output driver impedance. The on-die termination may be adjusted to reduce impedance mismatch for example, when signals (e.g., command, data, etc.) are provided to the memory devices. The programmable termination components have impedance values that can be adjusted as operating conditions change. In some implementations, programmable termination components are calibrated based on voltage measurements made on a circuit node that couples to an external resistance.
In some cases, a limited number of external connections are available for coupling to an external resistance. These external connections may be shared between multiple devices that use the connection for calibration purposes. As a result, contention for use of the external connection may arise when two or more devices attempt to concurrently use the external connection for a calibration operation.
Calibration of the programmable termination components typically occurs in response to a memory command, which is provided to the memory device, for example, at power up, memory device reset, changing a frequency set point for memory device operation, or whenever initiating a calibration process is desired. Following a time period after the initiation of the calibration process, another memory command is provided to the memory device to apply the parameters determined during the calibration process to set the programmable termination components accordingly. The time period may be set by operating specifications for the memory device.
As the number of memory devices that are coupled to a shared external resistance for the calibration increases, it may become more difficult to complete the calibration process for all of the memory devices before the end of the time period. In a system including multiple devices, the calibration operations for all of the devices must be completed before the specified time period has elapsed in order for calibration parameters to be applied when the following memory command is provided. Where multiple devices are coupled to a shared external resistance, calibration operations occur one device at a time in order to avoid contention for using the external resistance. Nonetheless, the total time to perform the calibration operations for all of the multiple devices must be less than the time period. As systems include inure and more devices, the total time to complete the calibration operations for all of the devices becomes longer. At some point, it will not be practical for calibration operations for all of the devices of a system to be completed within the specified time period.